ASP.NET Core অ্যাপ্লিকেশনগুলিতে কনফিগারেশন পরিচালনার জন্য Configuration Providers এবং Options Pattern ব্যবহৃত হয়। এ দুটি ASP.NET Core-এ ডায়নামিক এবং ফ্লেক্সিবল কনফিগারেশন ম্যানেজমেন্ট সহজ করে।
Configuration Providers হলো একটি মেকানিজম যা বিভিন্ন উৎস থেকে অ্যাপ্লিকেশনের কনফিগারেশন ডেটা সংগ্রহ করে। ASP.NET Core অনেক ধরনের Configuration Providers সমর্থন করে, যেমন:
ASP.NET Core অ্যাপ্লিকেশনে appsettings.json ডিফল্ট কনফিগারেশন ফাইল হিসেবে ব্যবহার করা হয়।
appsettings.json ফাইলের উদাহরণ:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=MyApp;User Id=sa;Password=your_password;"
},
"AppSettings": {
"ApplicationName": "MyApp",
"Version": "1.0.0"
}
}
Startup.cs এ কনফিগারেশন লোড:
public class Startup
{
private readonly IConfiguration _configuration;
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
string appName = _configuration["AppSettings:ApplicationName"];
Console.WriteLine($"Application Name: {appName}");
}
}
Environment Variables কনফিগারেশন পরিবর্তনশীল করতে এবং সিক্রেট মান পরিচালনার জন্য উপযোগী।
Environment Variable সেট করার উদাহরণ:
export AppSettings__ApplicationName=MyEnvironmentApp
ASP.NET Core এই মান _
(underscore) কে :
(colon) হিসেবে বিবেচনা করে এবং সঠিক কনফিগারেশনে লোড করে।
Command-line থেকে কনফিগারেশন মান প্রদান করা যেতে পারে।
Command-line কনফিগারেশন উদাহরণ:
dotnet run --AppSettings:ApplicationName=MyCLIApp
ASP.NET Core স্বয়ংক্রিয়ভাবে এই মানগুলি লোড করে।
Options Pattern হলো একটি ডিজাইন প্যাটার্ন যা কনফিগারেশন ডেটা পরিচালনা করতে একটি টাইপ-সেফ উপায় সরবরাহ করে। এটি কনফিগারেশন মডেল তৈরির মাধ্যমে কাজ করে, যেখানে নির্দিষ্ট কনফিগারেশন সেকশন থেকে ডেটা বাইন্ড করা হয়।
public class AppSettings
{
public string ApplicationName { get; set; }
public string Version { get; set; }
}
{
"AppSettings": {
"ApplicationName": "MyApp",
"Version": "1.0.0"
}
}
public void ConfigureServices(IServiceCollection services)
{
services.Configure<AppSettings>(_configuration.GetSection("AppSettings"));
}
Options ব্যবহার করার জন্য IOptions<T>
ইন্টারফেস ব্যবহার করা হয়।
public class HomeController : Controller
{
private readonly AppSettings _appSettings;
public HomeController(IOptions<AppSettings> options)
{
_appSettings = options.Value;
}
public IActionResult Index()
{
ViewData["AppName"] = _appSettings.ApplicationName;
return View();
}
}
IOptions<T>
ব্যবহার করে কনফিগারেশন স্ট্যাটিক মান হিসেবে ব্যবহৃত হয়।উদাহরণ:
var appName = options.Value.ApplicationName;
উদাহরণ:
var appName = optionsSnapshot.Value.ApplicationName;
উদাহরণ:
var appName = optionsMonitor.CurrentValue.ApplicationName;
ASP.NET Core এ Configuration Providers এবং Options Pattern একত্রে কনফিগারেশন ম্যানেজমেন্টকে সহজ, স্কেলেবল, এবং কার্যকর করে তোলে। এটি ডেভেলপারদের বিভিন্ন কনফিগারেশন উৎস থেকে ডেটা সংগ্রহ এবং টাইপ-সেফ উপায়ে অ্যাপ্লিকেশনে ব্যবহার করতে সহায়তা করে।
common.read_more